Real-Time Garbage Collection in Multi-Threaded Systems on a Single Processor
نویسنده
چکیده
We show the difficulties that arise for the implementation of a real-time garbage collector in a multi-threaded system. A mechanism for synchronization between threads and the garbage collector activities is proposed for a single processor system. It is shown how this mechanism can be used to maintain exact information on roots, to implement efficient write-barriers, to do incremental or even constanttime root-scanning and to guarantee short pre-emption time of garbage collector activity. Special aspects of an implementation for Java that are affected by this mechanism will also be addressed. Finally, experimental data is presented to show that the proposed mechanisms can efficiently be used in real programs.
منابع مشابه
Basic System-Level Software for a Single-Core MERASA Processor
In the EC FP-7 MERASA project a hard real-time capable multi-core processor is developed. The system-level software represents an abstraction layer between application software and embedded hardware. It has to provide basic functions of a real-time operating system. This report presents requirements for a multi-threaded hard real-time capable system-level software in embedded systems and the tr...
متن کاملA Concurrent Trace-based Just-In-Time Compiler for Single-threaded JavaScript
JavaScript is emerging as the ubiquitous language of choice for web browser applications. These applications increasingly execute on embedded mobile devices, and thus demand responsiveness (i.e., short pause times for system activities, such as compilation and garbage collection). To deliver responsiveness, web browsers, such as Firefox, have adopted trace-based Just-In-Time (JIT) compilation. ...
متن کاملImplementation of a Multi - Processor Garbage Collector in
ProcessBase is a new persistent programming language targeted to support process modelling applications. It forms a central part of a compliant systems architecture, i.e. an architecture that is compliant to the needs of the running application. The ProcessBase Abstract Machine (PBAM) is the execution engine for the language. It uses a heapbased storage architecture together with two contiguous...
متن کاملIncremental Multi-threaded Garbage Collection on Virtual Shared Memory Architectures
This paper describes a multi-threaded and incremental garbage collector operating on shared memory architectures. The technique was developed for parallel implementations of the language LCS, a high level parallel programming language. An incremental, page trap based, collection algorithm operates locally on each of the processors. Processors alternatively plays the role of mutator and collecto...
متن کاملAnaconda a Real-time Control-flow/data-flow Hybrid Processor
Typically real-time applications are written in a multi-threaded language and are executed on single threaded control-ow (von Neumann) processors. A software scheduler is used to switch between the application's multiple threads, thereby simulating a multi-threaded processor. Unfortunately software scheduling is problematic if real-time constraints are to be guaranteed and therefore static (pre...
متن کامل